More and more users have recently been using information processing environments of service providers via networks, instead of possessing their own information processing environments in which application software is executed. Services for allowing users to use information processing environments via networks are often called “cloud services”. For example, an information processing environment usable as a cloud service includes calculation hardware such as a processor or a memory, a local network, infrastructure software such as an operating system (OS) or a database, and a security mechanism.
There are various kinds of cloud services. For example, in one kind of service, a service provider rents a unit calculation resource such as a physical machine or a virtual machine to a user, and the user executes an application program created by himself or herself on the unit calculation resource. In another kind of service, a service provider deploys a lightweight program created by a user and executes this lightweight program only for a short time when a certain event occurs. In still another service, a service provider holds data received via a network.
In a cloud service, a service provider previously receives a program, setting information, or the like from a user and sets processing desired by the user so that this processing is executable in an information processing environment of the could service. Next, in the cloud service, the above set processing is performed in response to a processing request. A cloud service offers an application programming interface (API), and a program outside the cloud service is able to use this API to request processing. Thus, a developer is able to develop distributed processing software that allows a certain cloud service and a program outside this cloud service to coordinate with each other. The program outside this cloud service could be executed in another cloud service.
There has been proposed a conversion apparatus that converts a source code into an inspection code for a model inspection tool. This source code conversion apparatus receives a source code, conversion rules, a nonfunctional requirement which is a constraint relating to a processing time or a storage capacity. The source code conversion apparatus applies the conversion rules to the source code and generates an inspection code for inspecting whether the nonfunctional requirement is satisfied. In addition, there has been proposed a method in which, when an application is developed by combining a plurality of cloud services, a combination of cloud services is selected in such a manner that the quality of service (QoS) of the whole application is optimized. See, for example, the following documents:
International Publication Pamphlet No. 2012/057170; and
Anja Strunk, “QoS-Aware Service Composition: A Survey”, Proceedings of the 8th IEEE European Conference on Web Services (ECOWS), pp. 67-74, Dec. 1, 2010.
However, when a developer directly writes a distributed processing program using cloud services, since fragmented programs and setting information are separately deployed in a plurality of information processing environments, it is difficult to understand the whole information processing procedure. In addition, to use a cloud service, the developer needs to write the program in accordance with a unique API or rule defined by the corresponding service provider. Thus, the development efficiency of the distributed processing program could be reduced.